Data communication, the movement of encoded information from one point to another by means of a transmission system, provides for communication that is often more efficient than telephone communication and that is especially efficient for transferring data from one location to another. Typically data is originated at data terminal equipment (DTE) such as a terminal or computer. The DTE converts the data to electronic signals and sends it to data communication equipment (DCE). The DTE may also be selected to receive data. Data communication equipment (DCE) is coupled between the DTE and a transmission medium, typically a telephone line, cellular network, a fiber optic line, or a satellite network, for manipulating the signals or data. Interfaces, i.e., shared boundaries, translate the characteristics of one piece of equipment to a next.
Information sent by a transmitter DTE (TX DTE) to a receiver DTE (RX DTE) consists of a sequence of bits (e.g., 0's or 1's). Clock signals are used to synchronize data transmission between the DCE and the DTE. In addition, synchronous error correcting protocols are used to provide error free data transmission between the receiving DTE and the transmitting DTE. These protocols frame blocks of data and imbed control information that defines an order, destination address and cyclic redundancy checksum for the data in the frame. The receiving DTE acknowledges which frames have been successfully received. The control information as well as the acknowledgments allow for detecting bit errors in a data frame or loss of data frame(s) between the transmitting DTE and the receiving DTE. Since the data in the DTEs using a synchronous error correcting protocol is buffered, lost data frame(s) can be retransmitted, providing error free data communications between the transmitting DTE and the receiving DTE.
Most synchronous error correcting protocols only allow a finite amount of time between transmitting a frame and receiving an acknowledgment for that frame. This finite amount of time is defined with respect to the maximum delay through the network. If a frame is not acknowledged within that finite time, the protocol causes it to be retransmitted. Some synchronous data communication equipment within a network can add additional delay. This equipment may buffer the synchronous data for an amount of time that causes the maximum delay to exceed what the synchronous protocols expect. For example, this typically occurs when a communications channel used by the equipment becomes unusable for an extended time. The end result is that the synchronous protocols timeout while waiting for the acknowledgment of the buffered frames, and then retransmit the frames. Meanwhile, the original frames are still in the network, buffered in the equipment while the communications channel is unusable. Once that channel is restored, the original frames, as well as the retransmitted frames, will be forwarded. This results in a number of negative results: synchronous protocols may become confused by duplicate frames and duplicate frames unnecessarily use bandwidth.
Thus, there is a need for a device and method for limiting delay for a synchronous data system having error correcting protocol by selectively eliminating duplicate synchronous data frames.